package com.gexin.controller.commom;

import com.gexin.common.utils.IdGenerateUtils;
import com.gexin.common.utils.QiNiuUtil;
import com.jfinal.core.Controller;
import com.jfinal.ext.route.ControllerBind;
import com.jfinal.kit.Ret;
import com.jfinal.upload.UploadFile;

import java.io.File;
import java.util.HashMap;
import java.util.Map;

@ControllerBind(controllerKey = "/common/upload")
public class FileUploadController extends Controller {
    public void index(){
        if ("config".equals(getPara("action"))) {
        // 这里千万注意 "config.json" 文件前方的目录一定要正确
            render("/static/plugin/ueditor-min-1.4.3/jsp/config.json");
            return;
        }

        // "upfile" 来自 config.json 中的 imageFieldName 配置项
        UploadFile uf = getFile("upfile");
        File file = uf.getFile();

        String file_type = QiNiuUtil.getFileType(uf.getOriginalFileName());
        String file_key = "@"+IdGenerateUtils.getId()+"."+file_type;
        String file_url = QiNiuUtil.upload(file.getPath(), file_key);
        //文件上传七牛成功后，原文件删除
        file.delete();

        Map<String,String> ret = new HashMap<>();
        ret.put("state", "SUCCESS");
        ret.put("url", file_key);
        ret.put("title", uf.getOriginalFileName());
        ret.put("original", uf.getOriginalFileName());
        ret.put("type", file_type); // 这里根据实际扩展名去写
        ret.put("size", String.valueOf(file.length()));
        renderJson(ret);
    }
}
